package cn.btks.resultintegration.achievements.pojo;

import cn.btks.resultintegration.catalog.pojo.Catalog;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.util.Date;
import java.util.List;

/**
 * @Author lijun
 * @Date 2021/2/19 15:02
 *
 * 成果-师级
 */

@Data
@Entity
@AllArgsConstructor
@NoArgsConstructor
public class AchievementsTemp {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 成果数据（矢量成果对应矢量数据，文本成果对应文本描述）
     */
    @Column(columnDefinition = "text")
    private String content;

    /**
     * 所在目录ID
     */
    private Long catalogId;

    @ManyToOne
    @JoinColumn(name = "catalogId", insertable = false, updatable = false)
    private Catalog catalog;

    /**
     * 成果类型ID
     */
    private Long typeId;

    /**
     * 是否审核通过（0：审核不通过 1：审核通过 2：审核中）
     */
    private Integer isApproved;

    /**
     * 审核方式（0：系统审核 1：人工审核）
     */
    private Integer verifyType;

    /**
     * 系统审核内容
     */
    @Column(columnDefinition = "TEXT")
    private String verifyContent;

    /**
     * 上报人
     */
    private String reportUser;

    /**
     * 上报人单位
     */
    private String reportUnit;

    /**
     * 审核人
     */
    private String verifyUser;

    /**
     * 审核人单位
     */
    private String verifyUnit;

    /**
     * 所属师或兵团ID
     */
    private Long unitId;

    /**
     * 上传时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date uploadDate;

    /**
     *上传文件对象
     */
    @OneToMany(fetch = FetchType.LAZY,cascade = CascadeType.ALL,mappedBy = "achievements")
    private List<AchievementsFileTemp> files;
}
